1. Field of the Invention
The present invention relates generally to the field of computer processing and more particularly to systems and methods for policy-based application management.
2. Description of the Prior Art
Previously, computer applications only had the ability to run on one computer server. As the size and complexity of computer applications grew and computer environments changed from centralized architectures to distributed architectures, the computer applications also evolved into having the ability to run over multiple computer servers. For organizational and security reasons, these computer servers have been grouped into pools or clusters interconnected through communication networks.
In one prior art system, a load balancer controls how users are directed to the applications running on multiple servers. In one example where one application is running over six computer servers, the load balancer balances user requests for the application between the six computer servers. The load balancer directs a first user to a first computer server and then directs a second user to a second computer server. The load balancer then continues to distribute the users between the computer servers in a round robin fashion. In another example, the load balancer continues to direct users to the first computer server until a maximum load is reached and thereafter directs users to a second computer server.
One problem with the aforementioned system is the applications are running on the computer servers on at least the idling level and continue to occupy and consume computing resources. Thus, when no users are accessing the application, the application continues to consume computer resources that could be used by other applications. Therefore, the utilization of the computer servers is not optimized.
Another problem with prior art systems is that they require manual management of applications over the computer servers. At installation time, the application is statically assigned to execute on specific computer servers. Any additions or removals of computer servers executing the application must be manually performed by computer administrators. Furthermore, the computer administrators must constantly monitor the application and their resources to detect overload or underload situations, which increases operation costs and inefficiency.